1. Field of the Invention
The invention relates to error detection and correction circuitry in data processing systems and more particularly to logic circuitry for detecting correctable and uncorrectable errors using an H-matrix.
2. Background Art
To ensure the integrity of data stored in a data processing system and transmitted between various parts of the system, various error detection and correction schemes have been employed. Known schemes, such as the Hamming code, allow for double error detection and single error correction. Typically, before a data word is stored in a memory, check bits are generated over the data bits and stored with the data word. When the data word is retrieved from memory, a check is made over the data and the check bits to detect and, if necessary, to correct identifiable bits. In checking the data word and error bits received from memory, a syndrome is generated for each parity group of a multiple byte data word. A matrix, referred to as an H-matrix, may be generated which defines all of the syndromes for which a single error is correctable and which identifies each bit position of the data word which is correctable. When a syndrome is generated which matches the data in one of the columns of the matrix, the bit to be corrected is identified from the matrix and the polarity of the identified bit is changed to correct the data error. Additional tests need to be made to determine whether there are uncorrectable errors. When dealing with 64-bit data words, the H-matrix has 64 columns, plus columns for check bits. The number of syndromes which may be generated and which do not fall within the matrix are considerably larger than the correctable-error syndromes included in the matrix. A typical error correction scheme using 8-bit syndromes for 64 bits of data, and requiring single error correction and double error detection, will have 256 possible syndromes and 72 syndromes associated with correctable errors. The detection of the presence of a correctable error and the presence of uncorrectable errors requires large amounts of detection circuitry adding considerably to the cost of the system.